For this analysis we need relatively few packages. I’m going to build on the preliminary annotation by first merging in smaller clusters into their larger counterparts (some clusters have only a few cells in them), and then doing differential analysis to try and annotate things and check for substructure within the data. I’m not sure we have enough cells in the outling clusters to draw any conclusions, so I’ll be doing a little exploratory analysis to try and check in on the markers across individuals as well.
Normalization by dsb doesnt appear to preserve the signal to noise ratio (see initial annotation), so I’m using CLR at least for the normalzation phase. I’m doing it across samples anda cross genes which is not perfect. Ideally we do CLR on each participant independently, but this causes problems when samples do not have balanced cell types (ex CD4 is really high on CD4 from pbmc, but not the CD4 only population). The theory behind CLR is that data are measured compositional but are actually continuous and discrite and therefore each cell should be internally normalized (CLR by cells), but this performs poorly for comparison across cells, so people started doing it by genes. Ultimately, this helps with the visualization and comparison, but it is not clear to me that it addresses the compositional problem.
Visualizing ADT is tricky because there are almost always outliers. To overcome this, I typically clip the bottom 5 and top 5 % (sometimes 10 for particularly hard to visualize markers)
This was the prelim annotation after last time: 0- Naive CD4 T cells 1- Memory CD4, effector polarized 2- Memory CD4, TFh polarized? 3- Memory CD4 4- Memory CD4 Th1 GZMB+ 5- B cells 6- Naive CD4 7- Treg, Activated cells 8- Naive T cells 9- Effector/GZMB Th1/ NK 10-B cells 11-CD14+ Mono 12-DC 13-FCGR3A+ Mono 14-Memory CD4+
Additionally, it appears that 15 is plasma based on the YOST markers. All cluster smaller than that seem mergable.
suppressPackageStartupMessages(require(ggplot2))
suppressPackageStartupMessages(library(Seurat))
suppressPackageStartupMessages(library(dplyr))
#loading data
results<-readRDS( "~/gibbs/DOGMAMORPH/Ranalysis/Objects/20230518Completeobj.rds")
#setting correct default
DefaultAssay(results)<-"ADT"
results<-NormalizeData(results, normalization.method = "CLR")
## Loading required package: Signac
## Normalizing across features
table(results$seurat_clusters)
##
## 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
## 4763 4237 3695 2887 2571 2471 2001 1673 1345 1018 757 462 437 430 333 94
## 16 17 18 19 20 21 22 23 24
## 44 3 2 2 2 2 229 2 2
results$merged_clusters<-case_when(results$seurat_clusters==16~8,results$seurat_clusters==17~8, results$seurat_clusters==18~10,results$seurat_clusters==19~3,
results$seurat_clusters==20~4,results$seurat_clusters==21~6,results$seurat_clusters==22~2,results$seurat_clusters==23~2,
results$seurat_clusters==24~6, results$seurat_clusters==0~0,T~(as.numeric(results$seurat_clusters)-1))
results$merged_clusters<-case_when(results$merged_clusters==0~"Naive_CD4_T_1",results$merged_clusters==1~"Memory_CD4_Polarized_1",results$merged_clusters==2~"Memory_CD4_Polarized_2",results$merged_clusters==3~"Memory_CD4_1",
results$merged_clusters==4~"Cytotoxic_T",results$merged_clusters==5~"B_cells_1",results$merged_clusters==6~"Naive_CD4_T_2",results$merged_clusters==7~"Treg_proliferating",
results$merged_clusters==8~"Naive_CD4_T_3",results$merged_clusters==9~"Cyotoxic_CD4_CD8_NK",results$merged_clusters==10~"B_Cells_2",results$merged_clusters==11~"CD14+_Mono",
results$merged_clusters==12~"Dendritic",results$merged_clusters==13~"FCGGR3A+_Mono",results$merged_clusters==14~"Memory_CD4_2",results$merged_clusters==15~"Plasma")
results$merged_clusters<-factor(results$merged_clusters, levels = c("Memory_CD4_Polarized_1","Memory_CD4_Polarized_2","Treg_proliferating","Cytotoxic_T","Cyotoxic_CD4_CD8_NK","Memory_CD4_1","Memory_CD4_2",
"Naive_CD4_T_1","Naive_CD4_T_2","Naive_CD4_T_3","Dendritic","FCGGR3A+_Mono","CD14+_Mono","B_cells_1","B_Cells_2","Plasma"))
Idents(results)<-results$merged_clusters
DimPlot(results, label=TRUE)
DimPlot(results, split.by="merged_clusters",label=TRUE, ncol=4)
First I am going to confirm my preliminary assingments using additional traditional markers for each main PBMC population, then I’ll do some fine resolution annotation of the CD4 cells, and if I still have a will I’ll look at some other cell types.
I’m guiding this where possible with the human immune cell marker guide from cellsignal :https://media.cellsignal.com/www/pdfs/science/pathways/Immune-Cell-Markers-Human.pdf
#myeloid
FeaturePlot(results, c("CD11b-TotalA","CD11c-TotalA","CD14-TotalA","HLA-DR-DP-DQ-TotalA","CD86-TotalA","CD1c-TotalA", "CD163-TotalA","CD16-TotalA","CD83-TotalA", "CD123-TotalA"),min.cutoff='q5', max.cutoff='q95')
#B cells + Plasma
FeaturePlot(results, c("CD19-TotalA","IgD-TotalA","CD27-TotalA","CD20-TotalA","CD24-TotalA","CD69-TotalA","CD86-TotalA","CD40-TotalA"),min.cutoff='q5', max.cutoff='q95')
#NK
FeaturePlot(results, c("CD3-TotalA","CD56-TotalA","CD16-TotalA","NKp80-TotalA"),min.cutoff='q5', max.cutoff='q95')
#T
#152 -> CTLA4, 279 -> PD1 , 194 -> CCR4, 196 -> CCR6, 185 -> CXCR5, 278 -> ICOS
FeaturePlot(results, c("CD3-TotalA","CD4-TotalA","CD8-TotalA","CD45RA-TotalA","CD45RO-TotalA", "CD25-TotalA","CD69-TotalA","HLA-DR-DP-DQ-TotalA","CD185-TotalA",
"CD279-TotalA","TIGIT-TotalA","CD62L-TotalA","CD152-TotalA","KLRG1-TotalA", "TCRVa7.2-TotalA","TCRVd2-TotalA", "TCRab-TotalA",
"CX3CR1-TotalA","CD194-TotalA","CD196-TotalA" , "CD278-TotalA"),min.cutoff='q5', max.cutoff='q95')
DotPlot(results, features= c("CD3-TotalA","CD4-TotalA", "CD8-TotalA","CD45RA-TotalA","CD45RO-TotalA", "CD25-TotalA","CD69-TotalA","HLA-DR-DP-DQ-TotalA","CD185-TotalA",
"CD279-TotalA","TIGIT-TotalA","CD62L-TotalA","CD152-TotalA","KLRG1-TotalA", "TCRVa7.2-TotalA","TCRVd2-TotalA", "TCRab-TotalA",
"CX3CR1-TotalA","CD194-TotalA","CD196-TotalA" , "CD278-TotalA")) + theme(axis.text.x = element_text(angle = 90))
based on this I would update the annotations to Dendritic -> cDCs (CD11c), FCGGR3A -> pDCs (CD123 + HLA-DR), not clear what the CD14 Mono population in these inital markers
CD27 staining isn’t great, which may be a thawing thing, but it looks like we should update B_cells_1 -> B_cells_naive, and B_cells_2 -> B_cells_memory, panel does not have CD138, so I’m going to leave plasma alone for now
Based on CD56 and CD16 being positive and CD3 negative, I’m updating Cytotoxic CD4 CD8 and NK -> NK
Based on these, I dont see any major candidates for renaming. Its clear based on CD25 the T regs and proliferating have partitioned into a single cluster. There are regions of enrichment for certain polarization suggesting chemokine receptors, but it’s not clear to me exactly that they line up with exact clusters. CD4 polarized one has several inhibitory markers up which is interesting… There’s also a small offshot of CD8 cells which are potentially effector memory…
updating the labels:
results$merged_clusters<-case_when(results$seurat_clusters==16~8,results$seurat_clusters==17~8, results$seurat_clusters==18~10,results$seurat_clusters==19~3,
results$seurat_clusters==20~4,results$seurat_clusters==21~6,results$seurat_clusters==22~2,results$seurat_clusters==23~2,
results$seurat_clusters==24~6, results$seurat_clusters==0~0,T~(as.numeric(results$seurat_clusters)-1))
results$merged_clusters<-case_when(results$merged_clusters==0~"Naive_CD4_T_1",results$merged_clusters==1~"Memory_CD4_Polarized_1",results$merged_clusters==2~"Memory_CD4_Polarized_2",results$merged_clusters==3~"Memory_CD4_1",
results$merged_clusters==4~"Cytotoxic_T",results$merged_clusters==5~"Naive_B",results$merged_clusters==6~"Naive_CD4_T_2",results$merged_clusters==7~"Treg_proliferating",
results$merged_clusters==8~"Naive_CD4_T_3",results$merged_clusters==9~"NK",results$merged_clusters==10~"Memory_B",results$merged_clusters==11~"CD14+_Mono",
results$merged_clusters==12~"cDC",results$merged_clusters==13~"pDC",results$merged_clusters==14~"Memory_CD4_2",results$merged_clusters==15~"Plasma")
results$merged_clusters<-factor(results$merged_clusters, levels = c("Memory_CD4_Polarized_1","Memory_CD4_Polarized_2","Treg_proliferating","Cytotoxic_T","NK","Memory_CD4_1","Memory_CD4_2",
"Naive_CD4_T_1","Naive_CD4_T_2","Naive_CD4_T_3","cDC","pDC","CD14+_Mono","Naive_B","Memory_B","Plasma"))
Idents(results)<-results$merged_clusters
DimPlot(results, label=TRUE)
DimPlot(results, split.by="merged_clusters",label=TRUE, ncol=4)
#only two markers, both not highly diff
Naive_marks<-FindMarkers(results, "Naive_CD4_T_1","Naive_CD4_T_2")
head(Naive_marks)
## p_val avg_log2FC pct.1 pct.2 p_val_adj
## CD7-TotalA 7.077811e-214 -0.3386736 0.835 0.964 1.153683e-211
## CD31-TotalA 4.003939e-64 -0.2756577 0.594 0.708 6.526420e-62
#5 markers, two with large fold change CD103 and ITGB7 both related to homing are up in pop2, suggests they're further on the memory spectrum
Memory_marks<-FindMarkers(results, "Memory_CD4_1","Memory_CD4_2")
head(Memory_marks)
## p_val avg_log2FC pct.1 pct.2 p_val_adj
## ITGB7-TotalA 2.251040e-158 -0.7957167 0.335 0.904 3.669194e-156
## CD49f-TotalA 8.908244e-78 0.4790298 0.979 0.826 1.452044e-75
## HuCD103-TotalA 2.139952e-53 -0.8256161 0.279 0.592 3.488121e-51
## CD27-TotalA 9.891977e-36 0.2935769 0.949 0.871 1.612392e-33
## CD101-TotalA 1.407865e-25 -0.3609204 0.666 0.817 2.294820e-23
#no markers
Polarized_marks<-FindMarkers(results, "Memory_CD4_Polarized_1","Memory_CD4_Polarized_2")
## Warning in FindMarkers.default(object = data.use, slot = data.slot, counts =
## counts, : No features pass logfc.threshold threshold; returning empty
## data.frame
#limited marker differences even relative to naive
Polarized_marks_1<-FindMarkers(results, "Memory_CD4_Polarized_1","Naive_CD4_T_1")
Polarized_marks_2<-FindMarkers(results, "Memory_CD4_Polarized_2","Naive_CD4_T_1")
head(Polarized_marks_1)
## p_val avg_log2FC pct.1 pct.2 p_val_adj
## CD163-TotalA 3.133077e-200 0.2613406 0.899 0.769 5.106915e-198
head(Polarized_marks_2)
## p_val avg_log2FC pct.1 pct.2 p_val_adj
## CD2-TotalA 0.000000e+00 0.3178599 0.998 0.986 0.000000e+00
## CD29-TotalA 0.000000e+00 0.2823593 0.997 0.969 0.000000e+00
## CD4-TotalA 7.840252e-276 0.2711518 0.971 0.933 1.277961e-273
## CD49d-TotalA 2.778298e-244 0.2808917 0.971 0.919 4.528625e-242
## CD49f-TotalA 9.198356e-181 0.2588823 0.953 0.855 1.499332e-178
## CD161-TotalA 2.008813e-146 0.3038087 0.789 0.652 3.274365e-144
Treg_marks<-FindMarkers(results, "Treg_proliferating","Naive_CD4_T_1")
Cyto_marks<-FindMarkers(results, "Cytotoxic_T","Naive_CD4_T_1")
#most of these are activation/Treg markers so that's good
head(Treg_marks)
## p_val avg_log2FC pct.1 pct.2 p_val_adj
## HLA-A-B-C-TotalA 4.045052e-263 0.3090972 0.998 0.987 6.593435e-261
## CD278-TotalA 3.644657e-245 0.4116005 0.960 0.794 5.940790e-243
## CD71-TotalA 5.624630e-238 0.5337794 0.845 0.593 9.168146e-236
## HLA-DR-TotalA 3.841476e-223 0.5752408 0.962 0.871 6.261605e-221
## CD162-TotalA 7.869244e-208 0.2887827 0.991 0.977 1.282687e-205
## CD95-TotalA 4.067522e-199 0.2571933 0.993 0.952 6.630061e-197
#most of these appear to be CD8 associated, which makes sense since this looks like a mixture
head(Cyto_marks)
## p_val avg_log2FC pct.1 pct.2 p_val_adj
## KLRG1-TotalA 0 0.6497839 0.969 0.719 0
## Hu-CD314-TotalA 0 0.5323820 0.897 0.704 0
## CD57-Recombinant-TotalA 0 0.8708401 0.824 0.442 0
## CD11a-TotalA 0 0.2925949 1.000 1.000 0
## CD244-TotalA 0 0.5498431 0.838 0.456 0
## GPR56-TotalA 0 0.7511998 0.877 0.459 0
Based on the above, I suspect that the CD4 T are severely under clustered. There just aren’t very many protein differences we can see, and in some plots there’s obvious substructure to look further into. I’m going to do a further subseting and subclustering to take a look in a further analysis.
CD14<-FindMarkers(results, "CD14+_Mono","Naive_B",only.pos=TRUE )
pDCs<-FindMarkers(results, "pDC","Naive_B",only.pos=TRUE)
cDCs<-FindMarkers(results, "cDC","Naive_B",only.pos=TRUE)
#mix of macro, erythro and platelet markers
head(CD14)
## p_val avg_log2FC pct.1 pct.2 p_val_adj
## CD36-TotalA 7.326098e-295 1.7324045 0.885 0.162 1.194154e-292
## CD41-TotalA 2.511263e-255 1.6685400 0.946 0.318 4.093359e-253
## CLEC1B-TotalA 1.085988e-217 1.0336566 0.736 0.128 1.770161e-215
## CLEC12A-TotalA 8.028834e-209 1.2392001 0.725 0.146 1.308700e-206
## CD11b-TotalA 3.120351e-190 0.9777592 0.727 0.163 5.086171e-188
## CD49f-TotalA 1.404131e-182 0.8599640 0.944 0.484 2.288733e-180
#mono markers mixed with pDCs
head(pDCs)
## p_val avg_log2FC pct.1 pct.2 p_val_adj
## CLEC12A-TotalA 0.000000e+00 1.325667 0.947 0.146 0.000000e+00
## CD11c-TotalA 2.497200e-271 1.577555 0.974 0.322 4.070436e-269
## CD88-TotalA 1.630599e-229 1.068521 0.970 0.467 2.657876e-227
## CD172a-TotalA 7.144300e-217 0.998308 0.909 0.291 1.164521e-214
## CD31-TotalA 8.006925e-212 1.034448 0.995 0.971 1.305129e-209
## CD11a-TotalA 6.262196e-206 0.620187 1.000 0.996 1.020738e-203
#mono markers mixed with cDCs
head(cDCs)
## p_val avg_log2FC pct.1 pct.2 p_val_adj
## CLEC12A-TotalA 0.000000e+00 1.2328786 0.899 0.146 0.000000e+00
## CD11c-TotalA 3.144109e-263 1.4570979 0.966 0.322 5.124897e-261
## CD36-TotalA 2.306905e-212 1.0919382 0.780 0.162 3.760255e-210
## CD63-TotalA 3.689946e-182 0.9319393 0.968 0.618 6.014611e-180
## FCER1A-TotalA 1.732627e-170 1.0645657 0.934 0.543 2.824182e-168
## CD29-TotalA 1.305965e-167 0.5553972 0.998 0.918 2.128722e-165
results for myeloid cells suggests there is significant mixing within these somewhat small clusters. We’re probably going to be somewhat unable to resolve it further due to the relatively small number of cells. Might spend some time trying to subcluster those without integration, but I suspect the batch may be too large.
NaiveB<-FindMarkers(results, "Naive_B", "Naive_CD4_T_1",only.pos=TRUE )
MemoryB<-FindMarkers(results, "Memory_B", "Naive_CD4_T_1",only.pos=TRUE)
NK<-FindMarkers(results, "NK","Naive_CD4_T_1",only.pos=TRUE)
#mix of b cell and naive markers, surprisingly some activation but that was apparent above as well
head(NaiveB)
## p_val avg_log2FC pct.1 pct.2 p_val_adj
## CD19-TotalA 0 0.9799398 0.953 0.332 0
## CD45RA-TotalA 0 0.4423228 0.999 0.949 0
## CD31-TotalA 0 0.5305001 0.971 0.594 0
## CD32-TotalA 0 1.1891761 0.977 0.370 0
## CD185-TotalA 0 0.6316074 0.917 0.505 0
## HLA-DR-TotalA 0 1.2584747 1.000 0.871 0
#many B cell markers, still suggestive of memory
head(MemoryB)
## p_val avg_log2FC pct.1 pct.2 p_val_adj
## CD19-TotalA 0 1.1212380 0.968 0.332 0
## HLA-A-B-C-TotalA 0 0.5815308 1.000 0.987 0
## CD32-TotalA 0 1.1764478 0.958 0.370 0
## HLA-DR-TotalA 0 1.1406642 1.000 0.871 0
## CD35-TotalA 0 1.0976144 0.966 0.632 0
## CD268-TotalA 0 0.8608349 0.860 0.203 0
#major NK markers for sure
head(NK)
## p_val avg_log2FC pct.1 pct.2 p_val_adj
## CD244-TotalA 0.000000e+00 0.7168276 0.892 0.456 0.000000e+00
## CD94-TotalA 0.000000e+00 0.9948888 0.849 0.340 0.000000e+00
## GPR56-TotalA 0.000000e+00 0.8348658 0.893 0.459 0.000000e+00
## Hu-CD314-TotalA 1.032727e-259 0.5584963 0.953 0.704 1.683345e-257
## CD56-TotalA 8.861794e-211 0.6122016 0.807 0.460 1.444472e-208
## CD38-TotalA 1.754476e-209 0.5835513 0.958 0.813 2.859795e-207
Everything we have a new improved labeling. It’s apparent that all of these populations have substructure not captured by the current clustering. Unfortunately we probably only have enough CD4 to actually dig into it and try and parse it with subclustering since batch effects may dominate the others. We will have to see.
devtools::session_info()
## Warning in system("timedatectl", intern = TRUE): running command 'timedatectl'
## had status 1
## - Session info ---------------------------------------------------------------
## setting value
## version R version 4.2.0 (2022-04-22)
## os Red Hat Enterprise Linux 8.7 (Ootpa)
## system x86_64, linux-gnu
## ui X11
## language (EN)
## collate C
## ctype C
## tz Etc/UTC
## date 2023-05-26
## pandoc 2.17.1.1 @ /usr/lib/rstudio-server/bin/quarto/bin/ (via rmarkdown)
##
## - Packages -------------------------------------------------------------------
## package * version date (UTC) lib source
## abind 1.4-5 2016-07-21 [2] CRAN (R 4.2.0)
## BiocGenerics 0.44.0 2022-11-01 [1] Bioconductor
## BiocParallel 1.32.6 2023-03-17 [1] Bioconductor
## Biostrings 2.66.0 2022-11-01 [1] Bioconductor
## bitops 1.0-7 2021-04-24 [2] CRAN (R 4.2.0)
## bslib 0.4.2 2022-12-16 [1] CRAN (R 4.2.0)
## cachem 1.0.8 2023-05-01 [1] CRAN (R 4.2.0)
## callr 3.7.3 2022-11-02 [1] CRAN (R 4.2.0)
## cli 3.6.1 2023-03-23 [1] CRAN (R 4.2.0)
## cluster 2.1.4 2022-08-22 [2] CRAN (R 4.2.0)
## codetools 0.2-19 2023-02-01 [2] CRAN (R 4.2.0)
## colorspace 2.1-0 2023-01-23 [2] CRAN (R 4.2.0)
## cowplot 1.1.1 2020-12-30 [2] CRAN (R 4.2.0)
## crayon 1.5.2 2022-09-29 [2] CRAN (R 4.2.0)
## data.table 1.14.8 2023-02-17 [2] CRAN (R 4.2.0)
## DBI 1.1.3 2022-06-18 [2] CRAN (R 4.2.0)
## deldir 1.0-6 2021-10-23 [2] CRAN (R 4.2.0)
## devtools 2.4.5 2022-10-11 [1] CRAN (R 4.2.0)
## digest 0.6.31 2022-12-11 [2] CRAN (R 4.2.0)
## dplyr * 1.1.2 2023-04-20 [1] CRAN (R 4.2.0)
## ellipsis 0.3.2 2021-04-29 [2] CRAN (R 4.2.0)
## evaluate 0.20 2023-01-17 [2] CRAN (R 4.2.0)
## fansi 1.0.4 2023-01-22 [2] CRAN (R 4.2.0)
## farver 2.1.1 2022-07-06 [2] CRAN (R 4.2.0)
## fastmap 1.1.1 2023-02-24 [1] CRAN (R 4.2.0)
## fastmatch 1.1-3 2021-07-23 [2] CRAN (R 4.2.0)
## fitdistrplus 1.1-8 2022-03-10 [2] CRAN (R 4.2.0)
## fs 1.6.1 2023-02-06 [2] CRAN (R 4.2.0)
## future 1.32.0 2023-03-07 [1] CRAN (R 4.2.0)
## future.apply 1.10.0 2022-11-05 [1] CRAN (R 4.2.0)
## generics 0.1.3 2022-07-05 [2] CRAN (R 4.2.0)
## GenomeInfoDb 1.34.9 2023-02-02 [1] Bioconductor
## GenomeInfoDbData 1.2.9 2023-03-17 [1] Bioconductor
## GenomicRanges 1.50.2 2022-12-16 [1] Bioconductor
## ggplot2 * 3.4.2 2023-04-03 [1] CRAN (R 4.2.0)
## ggrepel 0.9.3 2023-02-03 [1] CRAN (R 4.2.0)
## ggridges 0.5.4 2022-09-26 [1] CRAN (R 4.2.0)
## globals 0.16.2 2022-11-21 [1] CRAN (R 4.2.0)
## glue 1.6.2 2022-02-24 [2] CRAN (R 4.2.0)
## goftest 1.2-3 2021-10-07 [2] CRAN (R 4.2.0)
## gridExtra 2.3 2017-09-09 [2] CRAN (R 4.2.0)
## gtable 0.3.3 2023-03-21 [1] CRAN (R 4.2.0)
## highr 0.10 2022-12-22 [1] CRAN (R 4.2.0)
## htmltools 0.5.5 2023-03-23 [1] CRAN (R 4.2.0)
## htmlwidgets 1.6.2 2023-03-17 [1] CRAN (R 4.2.0)
## httpuv 1.6.9 2023-02-14 [1] CRAN (R 4.2.0)
## httr 1.4.5 2023-02-24 [1] CRAN (R 4.2.0)
## ica 1.0-3 2022-07-08 [2] CRAN (R 4.2.0)
## igraph 1.4.2 2023-04-07 [1] CRAN (R 4.2.0)
## IRanges 2.32.0 2022-11-01 [1] Bioconductor
## irlba 2.3.5.1 2022-10-03 [1] CRAN (R 4.2.0)
## jquerylib 0.1.4 2021-04-26 [2] CRAN (R 4.2.0)
## jsonlite 1.8.4 2022-12-06 [2] CRAN (R 4.2.0)
## KernSmooth 2.23-20 2021-05-03 [2] CRAN (R 4.2.0)
## knitr 1.42 2023-01-25 [1] CRAN (R 4.2.0)
## labeling 0.4.2 2020-10-20 [2] CRAN (R 4.2.0)
## later 1.3.0 2021-08-18 [2] CRAN (R 4.2.0)
## lattice 0.21-8 2023-04-05 [1] CRAN (R 4.2.0)
## lazyeval 0.2.2 2019-03-15 [2] CRAN (R 4.2.0)
## leiden 0.4.3 2022-09-10 [1] CRAN (R 4.2.0)
## lifecycle 1.0.3 2022-10-07 [1] CRAN (R 4.2.0)
## limma 3.54.2 2023-02-28 [1] Bioconductor
## listenv 0.9.0 2022-12-16 [2] CRAN (R 4.2.0)
## lmtest 0.9-40 2022-03-21 [2] CRAN (R 4.2.0)
## magrittr 2.0.3 2022-03-30 [2] CRAN (R 4.2.0)
## MASS 7.3-59 2023-04-21 [1] CRAN (R 4.2.0)
## Matrix 1.5-4 2023-04-04 [1] CRAN (R 4.2.0)
## matrixStats 0.63.0 2022-11-18 [2] CRAN (R 4.2.0)
## memoise 2.0.1 2021-11-26 [2] CRAN (R 4.2.0)
## mime 0.12 2021-09-28 [2] CRAN (R 4.2.0)
## miniUI 0.1.1.1 2018-05-18 [2] CRAN (R 4.2.0)
## munsell 0.5.0 2018-06-12 [2] CRAN (R 4.2.0)
## nlme 3.1-162 2023-01-31 [1] CRAN (R 4.2.0)
## parallelly 1.35.0 2023-03-23 [1] CRAN (R 4.2.0)
## patchwork 1.1.2 2022-08-19 [1] CRAN (R 4.2.0)
## pbapply 1.7-0 2023-01-13 [1] CRAN (R 4.2.0)
## pillar 1.9.0 2023-03-22 [1] CRAN (R 4.2.0)
## pkgbuild 1.4.0 2022-11-27 [1] CRAN (R 4.2.0)
## pkgconfig 2.0.3 2019-09-22 [2] CRAN (R 4.2.0)
## pkgload 1.3.2 2022-11-16 [1] CRAN (R 4.2.0)
## plotly 4.10.1 2022-11-07 [1] CRAN (R 4.2.0)
## plyr 1.8.8 2022-11-11 [1] CRAN (R 4.2.0)
## png 0.1-8 2022-11-29 [1] CRAN (R 4.2.0)
## polyclip 1.10-4 2022-10-20 [1] CRAN (R 4.2.0)
## prettyunits 1.1.1 2020-01-24 [2] CRAN (R 4.2.0)
## processx 3.8.1 2023-04-18 [1] CRAN (R 4.2.0)
## profvis 0.3.8 2023-05-02 [1] CRAN (R 4.2.0)
## progressr 0.13.0 2023-01-10 [1] CRAN (R 4.2.0)
## promises 1.2.0.1 2021-02-11 [2] CRAN (R 4.2.0)
## ps 1.7.5 2023-04-18 [1] CRAN (R 4.2.0)
## purrr 1.0.1 2023-01-10 [1] CRAN (R 4.2.0)
## R6 2.5.1 2021-08-19 [2] CRAN (R 4.2.0)
## RANN 2.6.1 2019-01-08 [2] CRAN (R 4.2.0)
## RColorBrewer 1.1-3 2022-04-03 [2] CRAN (R 4.2.0)
## Rcpp 1.0.10 2023-01-22 [1] CRAN (R 4.2.0)
## RcppAnnoy 0.0.20 2022-10-27 [1] CRAN (R 4.2.0)
## RcppRoll 0.3.0 2018-06-05 [2] CRAN (R 4.2.0)
## RCurl 1.98-1.12 2023-03-27 [1] CRAN (R 4.2.0)
## remotes 2.4.2 2021-11-30 [2] CRAN (R 4.2.0)
## reshape2 1.4.4 2020-04-09 [2] CRAN (R 4.2.0)
## reticulate 1.28 2023-01-27 [1] CRAN (R 4.2.0)
## rlang 1.1.1 2023-04-28 [1] CRAN (R 4.2.0)
## rmarkdown 2.21 2023-03-26 [1] CRAN (R 4.2.0)
## ROCR 1.0-11 2020-05-02 [2] CRAN (R 4.2.0)
## Rsamtools 2.14.0 2022-11-01 [1] Bioconductor
## rstudioapi 0.14 2022-08-22 [1] CRAN (R 4.2.0)
## Rtsne 0.16 2022-04-17 [2] CRAN (R 4.2.0)
## S4Vectors 0.36.2 2023-02-26 [1] Bioconductor
## sass 0.4.5 2023-01-24 [1] CRAN (R 4.2.0)
## scales 1.2.1 2022-08-20 [1] CRAN (R 4.2.0)
## scattermore 0.8 2022-02-14 [1] CRAN (R 4.2.0)
## sctransform 0.3.5 2022-09-21 [1] CRAN (R 4.2.0)
## sessioninfo 1.2.2 2021-12-06 [2] CRAN (R 4.2.0)
## Seurat * 4.3.0 2022-11-18 [1] CRAN (R 4.2.0)
## SeuratObject * 4.1.3 2022-11-07 [1] CRAN (R 4.2.0)
## shiny 1.7.4 2022-12-15 [1] CRAN (R 4.2.0)
## Signac * 1.9.0 2022-12-08 [1] CRAN (R 4.2.0)
## sp 1.6-0 2023-01-19 [1] CRAN (R 4.2.0)
## spatstat.data 3.0-1 2023-03-12 [1] CRAN (R 4.2.0)
## spatstat.explore 3.1-0 2023-03-14 [1] CRAN (R 4.2.0)
## spatstat.geom 3.1-0 2023-03-12 [1] CRAN (R 4.2.0)
## spatstat.random 3.1-4 2023-03-13 [1] CRAN (R 4.2.0)
## spatstat.sparse 3.0-1 2023-03-12 [1] CRAN (R 4.2.0)
## spatstat.utils 3.0-2 2023-03-11 [1] CRAN (R 4.2.0)
## stringi 1.7.12 2023-01-11 [1] CRAN (R 4.2.0)
## stringr 1.5.0 2022-12-02 [1] CRAN (R 4.2.0)
## survival 3.5-5 2023-03-12 [1] CRAN (R 4.2.0)
## tensor 1.5 2012-05-05 [2] CRAN (R 4.2.0)
## tibble 3.2.1 2023-03-20 [1] CRAN (R 4.2.0)
## tidyr 1.3.0 2023-01-24 [1] CRAN (R 4.2.0)
## tidyselect 1.2.0 2022-10-10 [1] CRAN (R 4.2.0)
## urlchecker 1.0.1 2021-11-30 [1] CRAN (R 4.2.0)
## usethis 2.1.6 2022-05-25 [1] CRAN (R 4.2.0)
## utf8 1.2.3 2023-01-31 [1] CRAN (R 4.2.0)
## uwot 0.1.14 2022-08-22 [1] CRAN (R 4.2.0)
## vctrs 0.6.2 2023-04-19 [1] CRAN (R 4.2.0)
## viridisLite 0.4.2 2023-05-02 [1] CRAN (R 4.2.0)
## withr 2.5.0 2022-03-03 [2] CRAN (R 4.2.0)
## xfun 0.39 2023-04-20 [1] CRAN (R 4.2.0)
## xtable 1.8-4 2019-04-21 [2] CRAN (R 4.2.0)
## XVector 0.38.0 2022-11-01 [1] Bioconductor
## yaml 2.3.7 2023-01-23 [1] CRAN (R 4.2.0)
## zlibbioc 1.44.0 2022-11-01 [1] Bioconductor
## zoo 1.8-12 2023-04-13 [1] CRAN (R 4.2.0)
##
## [1] /gpfs/gibbs/project/ya-chi_ho/jac369/R/4.2
## [2] /vast/palmer/apps/avx2/software/R/4.2.0-foss-2020b/lib64/R/library
##
## ------------------------------------------------------------------------------